home *** CD-ROM | disk | FTP | other *** search
/ By Popular Request 2.0 / By Popular Request 2.0 (Arsenal Computer).ISO / amiga_2 / clcht47p.lha / CLChat.DOC
Text File  |  1995-08-08  |  18KB  |  479 lines

  1. CLChatSystem 4.7 Standalone 
  2. ---------------------------
  3.  
  4. (1) Copyrights
  5.  
  6.     The CLChatServer, the CLChatD, the CLCharIRCD, CLChatLink and the 
  7.     CLChatGUI are Copyright (C) 1994-1995 Oliver Wagner 
  8.     (o.wagner@lsd.wupper.de)
  9.     All Rights Reserved.
  10.  
  11.     The files are freely distributable as long as no modifications are
  12.     made to any part of the package and all files are distributed in
  13.     a single archive, accompanied by this documentation file.
  14.  
  15.     CLChatGUI is a MUI application. MUI is (C) 1993-1995 Stefan Stuntz.
  16.  
  17.     AmiTCP is (C) 1994-95 NSDI Inc.
  18.  
  19.  
  20. (2) Overview
  21.  
  22.     This is a multi-user multi-channel chat system somewhat based on
  23.     IRC. It can be used via TCP/IP connections or totally standalone.
  24.     It features:
  25.  
  26.     o unlimited number of users
  27.     o unlimited number of channels
  28.     o private messaging
  29.     o automatic user identification
  30.     o NEW: private channels
  31.     o NEW: IRC compatibility demon to allow any IRC client to join
  32.       a clchat server.
  33.     o flood protection
  34.     o user banning
  35.     o multiple server capability with loop protection
  36.     o channel operator privileges for setting channel topics
  37.       and removing users from a channel
  38.     o chat operator privilege for global channel operator status
  39.       and removing users from chat completely
  40.  
  41.     The user frontend for the chat is a comfortable GUI client
  42.     providing
  43.  
  44.     o easy user & channel operations
  45.     o input history
  46.     o automatic notifications of certain events via Deiconification
  47.       or beep
  48.     o builtin ARexx-Port
  49.     o NEW: Dialog windows for direct user<->user communication
  50.     o NEW: direct file transfers to remote users via IP
  51.  
  52.     There is also a ANSI client suitable for BBS usage:
  53.  
  54.     o full ANSI/VT100 compliant text output, completely using
  55.       STDIO.
  56.     o suitable for any BBS package capable of running STDIO apps.
  57.     o different colors for various messages.
  58.  
  59. (3) Origin
  60.  
  61.     The Chatsystem is originally part of the Connectline/Amiga BBS
  62.     package which features an ANSI text client for online usage
  63.     and the possibility to login to the chat during Hydra file 
  64.     transfers. The standlone ChatServer and the GUI client are
  65.     only a subset of the whole package.
  66.  
  67.     Write to Connectline@pluribus.wupper.de for more information
  68.     about Connectline or take a look at 
  69.     
  70.      http://www.pluribus.wupper.de/Connectline.html
  71.  
  72.     AK runs a CLChat WWW page; try
  73.  
  74.      http://ramiga.cts.com/CLChat/CLChat.html
  75.  
  76. (4) Client installation
  77.  
  78.     No installation required, simply run the Client from either
  79.     Shell or Workbench. It will prompt for your user information
  80.     and the server to connect to. See the Client guide for
  81.     more information about using it.
  82.  
  83. (5) Server Installation
  84.  
  85.     Copy the CLChatServer to AmiTCP:bin
  86.     Copy the CLChatLink to AmiTCP:bin
  87.     Copy the CLChatD to AmiTCP:serv
  88.     Copy the CLChatIRCD to AmiTCP:serv
  89.  
  90.     Add the following lines to AmiTCP:db/services:
  91.     clchat/5555
  92.     clirc/6667
  93.  
  94.     Add the following lines to AmiTCP:db/InetD.conf:
  95.     clchat    stream      tcp nowait root amitcp:serv/clchatd
  96.     clirc     stream      tcp nowait root amitcp:serv/clchatircd
  97.  
  98.     Add the following line to AmiTCP:bin/startnet:
  99.     run >NIL: AmiTCP:bin/CLChatServer
  100.  
  101.     Optionally create a file named AmiTCP:db/ChatServer.MOTD
  102.     containing a text file which will be display to each new user
  103.     logging into the chat.
  104.  
  105.     Optionally create a file named AmiTCP:db/ChatServer.OPList
  106.     containing a list of users which have the "Chat Operator"
  107.     privilege. These users automatically receive channel operator
  108.     status for every channel they join and can use the hidden
  109.     server command "/KILL" to remove other users from the
  110.     chat server. They may also the "/NETINFO" command to inquiry
  111.     chat network information, and use the BAN commands to list,
  112.     add or remove user bans.
  113.     This file contains entries of the following form:
  114.     Nickname Netaddress
  115.     For example:
  116.     Olli olli@lsd.wupper.de
  117.  
  118.     Optionally create a file named AmiTCP:db/ChatServer.Servers
  119.     containing a list of remote servers allowed to connect to your
  120.     server. This file contains a list of FQDN addresses or a
  121.     standard AmigaDOS wildcard matching FQDN addresses. If this
  122.     file is missing, all servers are allowed to connect.
  123.     If you want to ban a single server only, you can add a
  124.     exclusive pattern. For example, to ban server "lsd.wupper.de"
  125.     only, add the line
  126.     ~(lsd.wupper.de)
  127.     The first line of the file may contain a number specifying
  128.     the maximum number of servers to connect. This defaults to 8.
  129.  
  130.     You can make CLChatD and CLChatLink resident to increase
  131.     startup speed and reduce memory usage; this might proof
  132.     useful if you run or accept several connections.
  133.  
  134. (6) Using the server
  135.  
  136.     Using the server should be quite self-explainatory. Use the
  137.     command "/?" to obtain a list of available commands.
  138.  
  139.     Channels are created automatically when a users joins
  140.     and removed when the last user leaves. There is a
  141.     persistant default channel called MAIN on which every
  142.     new users starts. The first user entering a channel
  143.     will obtain channel operator status. He may change
  144.     the topic, kick other users, give or remove channel
  145.     operator status from them.
  146.  
  147.     Specifc users may be banned from a server using the
  148.     /BANADD command which is available to chat operators only.
  149.     Bans are stored in the file "AmiTCP:DB/ChatServer.UserBans"
  150.     and contain FQDN addresses or a AmigaDOS wildcard matching
  151.     FQDN addresses. You may want to use wildcards of the form
  152.     "#?@machine" because the user part of addresses is generally
  153.     the same as the nickname which may be set by the user.
  154.     For example, to ban users from lsd.wupper.de, use the
  155.     entry
  156.     #?@lsd.wupper.de
  157.  
  158.     Note that adding a line "#?" will make you quite lonely
  159.     on your server.
  160.  
  161.     The server respons to three shell signals. CTRL^C will
  162.     cause it to terminate instantly, CTRL^E will cause a
  163.     restart (with reloading the executable) and CTRL^F will
  164.     cause the server to output diagnostic stats into the
  165.     shell window.
  166.  
  167.  
  168. (7) Connecting several servers
  169.  
  170.     After running your local server, use the command "CLChatLink"
  171.     to connect to a different server. Usage is
  172.     CLChatLink <remoteservername> <remoteport> [retrycount]
  173.  
  174.     The retrycount is optional; if specified, CLChatLink will
  175.     retry a connection until the count runs out. If a already
  176.     successfully established connection break, retries start
  177.     back from 1.
  178.  
  179.     Note that the server-server protocol is quite bandwidth
  180.     expensive, so you should *NOT* create a server for single
  181.     users only.
  182.  
  183.     Note that nicknames must be unique on all servers; if servers
  184.     connect and a nick collision occurs, both users are removed
  185.     from their correspondending servers and a nick collision
  186.     message is broadcasted.
  187.  
  188.     Server loops may be created; every server message carries
  189.     a unique messageid which will be checked by every server
  190.     it passes; dupes are filtered out. Server loops may raise
  191.     broadcast speed esspecially on slow network connections.
  192.     The server uses some kind of smart routing for private
  193.     messages: if the destination of a private message is on a
  194.     directly linked server, the message is send to this
  195.     server only. If not, it is broadcasted, so no routing
  196.     tables are necessary.
  197.  
  198.  
  199. (8) History:
  200.  
  201.     See the CLChatGUI.(doc|guide) for more specific GUI
  202.     client revision information.
  203.  
  204.     Release 3.0
  205.     -----------
  206.     - the server now uses smart routing for private messages;
  207.       if the destination server is a direct link, no broadcast
  208.       is produced
  209.     - added user banning capabilities
  210.     - added /NETINFO server inquiry broadcast
  211.     - added chat operator command output on /HELP if the
  212.       use is a chat operator.
  213.     - made /SERVERS command available to normal chat users
  214.     - updated CLChatLink to correctly fill in the remote
  215.       server name.
  216.     - extended server msgs with a message id tag to filter
  217.       message dupes produced by server loops.
  218.  
  219.     Release 3.1
  220.     -----------
  221.     - everything is now compiled with SAS/C 6.55. Also added
  222.       server version directly compiled for 68030 CPUs.
  223.     - added more detailed NETINFO output.
  224.     - added /STAT command for chat operators. Also "/STAT *"
  225.       broadcasts /STAT requests via net.
  226.     - extended /USERS command with "S" option to display
  227.       users with the servers they're on.
  228.     - added /RESTART command for chat operators to have
  229.       the server restart itself. Also CTRL^E will cause
  230.       a restart.
  231.     - added CTRL^F response displaying server stats to
  232.       the shell.
  233.     - fixed CLChatLink and CLChatD to fill in the IP
  234.       address of remote servers for the /SERVERS command
  235.       output.
  236.     - fixed smart privmsg routing.
  237.     - fixed user removement for flood protection and
  238.       /KILL commands.
  239.     - fixed may GUI client bugs & quirks.
  240.     - GUI client now has IP file transfer option similar
  241.       to DCC
  242.     - GUI client now has a PING option to test links
  243.       from user to user directly
  244.     - fixed bug in the server which caused a stack
  245.       overwrite on privmsgs > 230 bytes
  246.     - both CLChatD and CLChatLink are now "pure" code
  247.       and can be made resident for more efficient memory
  248.       usage
  249.  
  250.     Release 3.2
  251.     -----------
  252.     - fixed local /STAT output to report only local
  253.       users
  254.     - fixed server validation bug; checked IP addresse instead
  255.       of FQDN
  256.     - fixed server reject error message
  257.     - cleaned up GUI client scroller handling
  258.     - added PLUBOT sample code
  259.  
  260.     Release 3.3
  261.     -----------
  262.     - CLChatLink was seriously broken; retry didn't worked
  263.       and broken active links causes server crashes due to
  264.       illegal messages.
  265.     - increased stacksizes or reduced stack usage in all parts
  266.       of the package due to frequent crashes on some setups.
  267.     - some GUI client cleanup.
  268.  
  269.     Release 3.4
  270.     -----------
  271.     - fixed some quirks in the GUI-Client
  272.     - fixed time bug in the CLChatServer
  273.  
  274.     Release 3.6
  275.     -----------
  276.     - did some work on the CLChatGUI-Client (see history)
  277.     - added MS-Windows client (clchatwi.LZH).
  278.     - new chat operator command /NOTICE.
  279.     - logfile option: if a file AmiTCP:Log/ChatServer.LOG
  280.       exists, the chat server will log all outgoing
  281.       messages with that file.
  282.     - cleaned up /MSG to send the acknowledge msg before
  283.       the destination message.
  284.     - fixed several typos.
  285.     - CLChatLink now no longer needs the port arguments,
  286.       but defaults to 5555.
  287.  
  288.    Release 3.7
  289.    -----------
  290.    - added installer script by Robert Reiswig (rcr@netcom.com)
  291.  
  292.    Release 3.8
  293.    -----------
  294.    - fixed a bug in the server connect code which caused
  295.      server names to be truncated at offset 19, causing trouble
  296.      when having a server validation list.
  297.  
  298.    Release 4.0
  299.    -----------
  300.    - did some work on the CLChatGUI-Client (see history)
  301.    - fixed a bug in CLChatlink causing trouble with server
  302.      connects if "ChatServer.Servers" existed ("\r" wasn't
  303.      filtered correctly)
  304.    - several internal fixes & cleanups in the chatserver.
  305.  
  306.    Release 4.1
  307.    -----------
  308.    - did some work on the CLChatGUI-Client (see history)
  309.    - /MSG may now be abbreviated by /M.
  310.    - added /QUIT command to gracefully terminate the
  311.      chatserver link with the possibility to give a
  312.      reason (CLChatD will put a net error string to
  313.      the reason field if the link terminates due to
  314.      net failure).
  315.    - fixed several problems with the topic update
  316.      upon server connects. A connecting server will
  317.      now obtain the topics from the server it connects to.
  318.      Note: This *requires* updating CLChatLink!
  319.    - several internal fixes & cleanups in the chatserver.
  320.    - removed annoying SINFO reports upon server connect.
  321.    - fixed a bug in CLChatD which caused users without
  322.      working nameservers to be logged in without any
  323.      hostname at all instead of their ip address.
  324.    - added a really cool chatbot ;-)
  325.  
  326.    Release 4.2
  327.    -----------
  328.    - fixed a nasty bug in the CLChatGUI-Client (see history)
  329.    - added standalone ANSI terminal client for BBS usage.
  330.    - fixed a bug in the chat bot causing enforcer hits
  331.      upon executing commands without parameters.
  332.    - added FAQMANAGER to the bot directory.
  333.  
  334.    Release 4.3
  335.    -----------
  336.    - did some work on the CLChatGUI-Client (see history)
  337.    - fixed a bug in Chatserver.OPList parsing causing
  338.      empty lines to match ANY user as an chatop.
  339.    - now no longer checks link access if a server link
  340.      is established on behalf of the local side.
  341.    - [UNLINK]-Message wasn't correctly distributed
  342.      across the server links causing clients to not
  343.      update their user lists.
  344.    - fixed a potential problem in SINQRESP-Message (for /NETINFO)
  345.      longer than 200 bytes
  346.    - added CLCHATSERVER_ADMIN environment variable, designating
  347.      a admin string which should contain the server operators
  348.      e-mail address, returned on /SERVER command and /NETINFO
  349.      inquiries.
  350.  
  351.    Release 4.4
  352.    -----------
  353.    - did some work on the CLChatGUI-Client (see history)
  354.    - fixed nick changes not broadcasted correctly
  355.    - added private channels and the commands "/PRIVATE"
  356.      (ask/set/clear private mode), "/ALLOW" (list/allow
  357.      users) and "/DISALLOW".
  358.    - it's now possible to kill remote users.
  359.    - the standalone server now runs completely without
  360.      AmiTCP for BBS-only-usage.
  361.    - added IRC compatibility client CLChatIRCD to accept
  362.      standard IRC connections on TCP port 6667 (or whatever
  363.      you likes). It emulates most of the standard IRC
  364.      commands.
  365.  
  366.    Release 4.5
  367.    -----------
  368.    - did some work on the CLChatGUI-Client (see history),
  369.      now supports DCC for IRC compatibility.
  370.    - fixed a severe bug in the chatserver causing sometimes
  371.      Exec messages to be send to non existant MsgPorts
  372.    - CLChatIRCD now behaves more like a "real" IRC server
  373.      sending faked version information on startup to fool
  374.      ircII into correct operation.
  375.    - CLChatIRCD now awaits a "JOIN :#MAIN" before sending
  376.      anything to the client in order to make braindamaged
  377.      designed IRC clients (ircII for example ;-) to not
  378.      choke on being magically forced into a channel.
  379.    - fixed various bugs with server message distribution.
  380.    - CLChatIRCD now properly converts CTCP VERSION and PING
  381.      to clchat format.
  382.    - various small internal cleanups & fixes.
  383.    - CLChatD, CLChatLink & CLChatIRCD now raise their
  384.      priority to 1 to avoid lagging due to the -1
  385.      priority normaly assigned by inetd for server
  386.      processes.
  387.    - CLChatLink no longer sends bogus link information
  388.      to the local server upon connect.
  389.    - CLChatD now has some kind of protection against
  390.      errneous IRC client connects; it sends the client
  391.      a hint to connect to the right port before terminating.
  392.    - updated installer script.
  393.  
  394.    Release 4.6
  395.    -----------
  396.    - the CLChatIRCD now prints a message to MAIN after
  397.      joining to inform users that the client user is
  398.      not "really" on the channel.
  399.    - fixed a severe bug in CLChatIRCD causing the internal
  400.      user link in the exec Message used for communication
  401.      with the server to be trashed when someone /QUIT
  402.      while the user is still waiting to JOIN #MAIN.
  403.    - the CLChatIRCD now supports the WHO irc query
  404.      in limited form.
  405.    - the ChatBot now allows for autojoining a channel
  406.      straight after start.
  407.    - added /LINK & /UNLINK commands to the server for
  408.      creating links right out of the chat.
  409.    - now server disconnects give a reason.
  410.    - CLChatIRCD now properly converts [NICK]ámessages.
  411.    - fixed a bug in CLChatIRCD not properly terminating
  412.      a NAMES list.
  413.    - fixed a bug with server irregularly sending their
  414.      channel topics when a user left.
  415.    - now nick collisions are reported only from
  416.      the servers they occur on.
  417.    - added "/MSG ." (send to last msg's receipiant) and
  418.      "/MSG ," (send to last msg's sender) support.
  419.      Updated HELP output accordingly.
  420.    - cleaned up server login text; now outputs server
  421.      admin info after welcome.
  422.    - now, /NOTICE msgs are no more broadcasted to other
  423.      servers (this is intended behavior)
  424.    - the ANSI client now has a short help page
  425.    - did you some cleanup in the ANSI client
  426.    - the ANSI client now responds to VERSION, PING,
  427.      CLFT and DCC requests.
  428.    - the ANSI client now supports internal /PING
  429.      and /VERSION commands.
  430.  
  431.    Release 4.7
  432.    -----------
  433.    - CLChatIRCD: fixed removal of first char on TOPIC.
  434.    - CLChatIRCD: cleaned up WHO output.
  435.    - Chatserver: SUSERS output changed to contain
  436.      userhost and realname (mainly for WHO support)
  437.    - Chatserver: cleaned up Server link protocol
  438.      to avoid user table loss during internal
  439.      list update.
  440.    - Chatserver: [ENTER] messages are now generated
  441.      locally so that users are informed when different
  442.      users are merged into the chat due to a server
  443.      connect.
  444.  
  445. (9) ARCnet
  446.  
  447.     There is already a public Internet chat network based on
  448.     CLChat called the "ARCnet" (Amiga Relay Chat Network).
  449.     See the client documentation for up-to-date information
  450.     about this network and servers you can connect to.
  451.  
  452.     WWW-Info:
  453.  
  454.     http://ramiga.cts.com/CLChat/CLChat.html
  455.  
  456. (10) Updates
  457.  
  458.      Updates are available from Aminet, or directly from
  459.  
  460.      ftp://pluribus.wupper.de/CLChat
  461.  
  462. (11) Thanks must go to:
  463.  
  464.      Roy Millican  - for encouragement and running the first
  465.                      public CLChat server on the InterNet ;-)
  466.  
  467.      James Atwill, Ralf Deifel
  468.                    - for their help during multi server testing
  469.  
  470.      Jeremiah S. Junken
  471.                    - for the CLChatGUI icon
  472.  
  473.      Robert Reiswig
  474.                    - for the Installer script
  475.  
  476.      Matthias Mischler
  477.                    - for his help with debugging the CLChatIRCD
  478.                      with ircII
  479.